Various organizations make use of enterprise resource planning (ERP) software architectures to provide an integrated, computer-based system for management of internal and external resources, such as for example tangible assets, financial resources, materials, customer relationships, and human resources. In general, ERP software architectures can be designed to facilitate the flow of information between business functions inside the boundaries of the organization and manage the connections to outside service providers, stakeholders, and the like. Such architectures often include one or more centralized databases accessible by a core software platform that consolidates business operations, including but not limited to those provided by third party vendors, into a uniform and organization-wide system environment. The core software platform can reside on a centralized server or alternatively be distributed across modular hardware and software units that provide “services” and communicate on a local area network or over a network, such as for example the Internet, a wide area network, a local area network, or the like.
As part of the installation process of the core software platform on computing hardware owned or operated by the organization, one or more customized features, configurations, business processes, or the like may be added to the default, preprogrammed features such that the core software platform is configured for maximum compatibility with the organization's business processes, data, and the like. The customized version of the core software platform presented to users at to an organization can therefore differ from the customized versions presented to users at other organizations. Additionally, within an organization, different subsets of users may need access to different sets of features. Customization of user interface environments to meet this variety of user needs can be cumbersome and time consuming.
The core software platform of an ERP software architecture can be provided as a standalone, customized software installation that runs on one or more processors that are under the control of the organization. This arrangement can be very effective for a large-scale organization that has very sophisticated in-house information technology (IT) staff and for whom a sizable capital investment in computing hardware and consulting services required to customize a commercially available ERP solution to work with organization-specific business processes and functions is feasible. Large organizations can generally justify the expense of tasking one or more programmers and user interface architects to design customized, hard coded user interface features to provide appropriate functionality to each of one or more classes of users.
Smaller organizations can also benefit from use of ERP functionality. However, such an organization may lack the necessary hardware resources, IT support, and/or consulting budget necessary to make use of a standalone ERP software architecture product and can in some cases be more effectively served by a software as a service (SaaS) arrangement in which the ERP system architecture is hosted on computing hardware such as servers and data repositories that are maintained remotely from the organization's location and accessed by authorized users at the organization via a thin client, such as for example a web browser, over a network. Creation of customized user interface functionality for smaller organizations, for example by hard-coding of user interfaces and the required user interface navigation targets for each of one or more classes of users, can add significantly to the total cost of ownership. Such services can be provided by the SaaS provider, but doing so can be similarly inefficient, particularly for smaller client organizations that each require a custom installation, and can also require ongoing maintenance and updating services to reflect new functionality provided either by the SaaS provider or by third party applications from one or more external service providers that are integrated into the customized core software platform.